home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / g_man / cat3 / ftn / mmode.z / mmode
Encoding:
Text File  |  2002-10-03  |  6.2 KB  |  146 lines

  1.  
  2.  
  3.  
  4. mmmmmmmmooooddddeeee((((3333GGGG))))                                                            mmmmmmmmooooddddeeee((((3333GGGG))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      mmmmmmmmooooddddeeee      - sets the current matrix mode
  10.  
  11. FFFFOOOORRRRTTTTRRRRAAAANNNN 77777777 SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
  12.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee mmmmmmmmooooddddeeee((((mmmm))))
  13.      iiiinnnntttteeeeggggeeeerrrr****4444 mmmm
  14.  
  15. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  16.      _m   expects a symbolic constant, one of:
  17.  
  18.          MMMMSSSSIIIINNNNGGGGLLLL puts the system into single-matrix mode. In single-matrix
  19.          mode, all modeling, viewing, and projection transformations are done
  20.          using a single matrix that combines all these transformations. This
  21.          is the default matrix mode.
  22.  
  23.          MMMMVVVVIIIIEEEEWWWWIIII puts the system into multi-matrix mode. In this mode, separate
  24.          ModelView, Projection, and Texture matrices are maintained.  The
  25.          ModelView matrix is modified by all matrix operations, except for
  26.          ppppeeeerrrrssssppppeeee, oooorrrrtttthhhhoooo, oooorrrrtttthhhhoooo2222, and wwwwiiiinnnnddddoooowwww.  which always replace the current
  27.          Projection matrix.
  28.  
  29.          MMMMPPPPRRRROOOOJJJJEEEE puts the system into multi-matrix mode. In this mode, separate
  30.          ModelView, Projection, and Texture matrices are maintained.  The
  31.          Projection matrix is modified by all matrix operations.
  32.  
  33.          MMMMTTTTEEEEXXXXTTTTUUUU puts the system into multi-matrix mode. In this mode, separate
  34.          ModelView, Projection, and Texture matrices are maintained.  The
  35.          Texture matrix is modified by all matrix operations, except for
  36.          ppppeeeerrrrssssppppeeee, oooorrrrtttthhhhoooo, oooorrrrtttthhhhoooo2222, and wwwwiiiinnnnddddoooowwww.  which always replace the current
  37.          Projection matrix.
  38.  
  39. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  40.      mmmmmmmmooooddddeeee specifies which matrix is the current matrix, and also determines
  41.      whether the system is in single-matrix mode, or in multi-matrix mode.
  42.      The matrix mode and current matrix are determined as follows:
  43.  
  44.                    ____________________________________________
  45.                        mmode      matrix mode   current matrix
  46.                    ____________________________________________
  47.                       MSINGL        single       only matrix
  48.                       MVIEWI         multi        ModelView
  49.                       MPROJE         multi        Projection
  50.                       MTEXTU         multi         Texture
  51.                    ____________________________________________
  52.                    |||||||
  53.  
  54.  
  55.  
  56.  
  57.  
  58.                                                                |||||||
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.      In single-matrix mode, vertices are transformed directly from object-
  67.      coordinates to clip-coordinates by a single matrix.  All matrix commands
  68.      operate on this, the only matrix.  Single-matrix mode is the default
  69.      mode, but its use is discouraged, because many of the newer GL rendering
  70.      features cannot be used while the system is in single-matrix mode.
  71.  
  72.  
  73.  
  74.  
  75.  
  76.                                                                         PPPPaaaaggggeeee 1111
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83. mmmmmmmmooooddddeeee((((3333GGGG))))                                                            mmmmmmmmooooddddeeee((((3333GGGG))))
  84.  
  85.  
  86.  
  87.      In multi-matrix mode, vertices are transformed from object-coordinates to
  88.      eye-coordinates by the ModelView matrix, then from eye-coordinates to
  89.      clip-coordinates by the Projection matrix.  A third matrix, the Texture
  90.      matrix, is maintained to transform texture coordinates.  While in multi-
  91.      matrix mode, mmodes MMMMVVVVIIIIEEEEWWWWIIII, MMMMPPPPRRRROOOOJJJJEEEE, and MMMMTTTTEEEEXXXXTTTTUUUU specify which of the three
  92.      matrices is operated on by matrix modification commands.  Many GL
  93.      rendering operations, including lighting, texture mapping, and user-
  94.      defined clipping planes, require that the matrix mode be multi-matrix.
  95.  
  96.      Both the single matrix that is maintained while mmode is MMMMSSSSIIIINNNNGGGGLLLL mode, and
  97.      the ModelView matrix that is maintained while not in MMMMSSSSIIIINNNNGGGGLLLL mode, have a
  98.      stack depth of 32.  The Projection and Texture matrices are not stacked.
  99.      Thus matrix commands ppppuuuusssshhhhmmmmaaaa and ppppooooppppmmmmaaaatttt should not be called while the
  100.      matrix mode is MMMMPPPPRRRROOOOJJJJEEEE or MMMMTTTTEEEEXXXXTTTTUUUU.
  101.  
  102.      Changes between matrix modes MMMMVVVVIIIIEEEEWWWWIIII, MMMMPPPPRRRROOOOJJJJEEEE and MMMMTTTTEEEEXXXXTTTTUUUU have no effect on
  103.      the matrix values themselves.  However, when matrix mode MMMMSSSSIIIINNNNGGGGLLLL is
  104.      entered or left, all matrix stacks are forced to be empty, and all
  105.      matrices are initialized to the identity matrix.
  106.  
  107. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  108.      clippl, getmmo, lmbind, lookat, ortho, perspe, polarv, rot, rotate,
  109.      scale, texbin, transl, window
  110.  
  111. BBBBUUUUGGGGSSSS
  112.      On IRIS-4D G, GT, GTX systems, and on the Personal IRIS, multi-matrix
  113.      operation is incorrect while mmmmmmmmooooddddeeee is MMMMPPPPRRRROOOOJJJJEEEE.  Specifically, vertices are
  114.      transformed only by the Projection matrix, not by the ModelView matrix.
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.                                                                         PPPPaaaaggggeeee 2222
  143.  
  144.  
  145.  
  146.